package com.sdgs.app.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * APP请求结果.
 * Created by chenzhen on 2018/01/16.
 */
public class AppResult {
    
    /**
     * 返回状态码。
     */
    private int resultCode;
    
    /**
     * 返回信息(成功/失败信息)
     */
    private String resultInfo = "";
    
    /**
     * 返回数据主体。
     */
    private Map<String, Object> data = new HashMap<>();
    
    
    public void setResultCode(AppResultCode code) {
        this.resultCode = code.getCode();
        this.resultInfo = code.getMsg();
    }
    
    public Map<String, Object> getData() {
        return data;
    }

    public void setData(Map<String, Object> data) {
        this.data = data;
    }

    public int getResultCode() {
        return resultCode;
    }
    
    public void setResultCode(int resultCode) {
        this.resultCode = resultCode;
    }
    
    public String getResultInfo() {
        return resultInfo;
    }
    
    public void setResultInfo(String resultInfo) {
        this.resultInfo = resultInfo;
    }
    
    /**
     * 获取成功数据格式对象。
     * @param
     * @return AppResult
     */
    public static AppResult success() {
        AppResult result = new AppResult();
        result.setResultCode(AppResultCode.SUCCESS);
        return result;
    }
    

    /**
     * 获取失败返回数据。
     * @return AppResult
     */
    public static AppResult error() {
        return error(AppResultCode.FAIL);
    }
    
    /**
     * 获取失败返回数据。
     * @param code code
     * @return AppResult
     */
    public static AppResult error(AppResultCode code) {
        AppResult result = new AppResult();
        result.setResultCode(code);
        return result;
    }
    
    /**
     * 增加返回信息。
     * @param key key
     * @param value value
     */
    public void addRespData(String key, Object value) {
        this.data.put(key, value);
    }
}
